package com.qijin.dto.business;


import com.alibaba.fastjson.JSON;
import com.qijin.config.MpayConstant;
import com.qijin.dto.EncryptRequestDto;
import lombok.Data;
import lombok.ToString;

/**
 * 支付对象
 */
@Data
@ToString(callSuper = true)
public class BankcardPrePayRequestDto extends EncryptRequestDto {
    /**
     * 用户ID
     */
    private String user_id;


    /**
     * 商户订单时间 格式：YYYYMMDDH24MISS 14位数字，精确到秒
     */
    private String dt_order;
    /**
     * 商品名称
     */
    private String name_goods;

    /**
     * 订单描述
     */
    private String info_order;

    /**
     * 交易金额 该笔订单的资金总额，单位为RMB-元。大于0的数字，精确到小数点后两位。如：49.65
     */
    private String money_order;
    /**
     * 订单有效时间 分钟为单位，默认为10080分钟（7天），从创建时间开始，过了此订单有效时间此笔订单就会被设置为失败状态不能再重新进行支付。
     */
    private String valid_order;


    /**
     * 风险控制参数
     */
    private String risk_item;
    /**
     * 分账信息,最多支持三个分账商户,分账参数说明请查看分账参数章节
     */
    private String shareing_data;

    /**
     * 银行卡号
     */
    private String card_no;
    /**
     * 银行账号姓名
     */
    private String acct_name;
    /**
     * 绑定手机号
     */
    private String bind_mob;
    /**
     * 证件类型 默认为0, 其他类型请查看附录-
     */
    private String id_type;
    /**
     * 证件号码
     */
    private String id_no;
    /**
     * 信用卡有效期 信用卡时必填，格式YYMM
     */
    private String vali_date;
    /**
     * 信用卡CVV2
     */
    private String cvv2;
    /**
     * 签约协议号
     */
    private String no_agree;

    public BankcardPrePayRequestDto() {
        super();
        url = MpayConstant.bankcardpayUrl;
        voPath = "com.qijin.vo.BankcardPrePayResponseVo";
    }

    public BankcardPrePayRequestDto(RiskItemBean riskItemBean) {
        super();
        url = MpayConstant.bankcardpayUrl;
        voPath = "com.qijin.vo.BankcardPrePayResponseVo";
        risk_item = JSON.toJSONString(riskItemBean);
    }
}
